home *** CD-ROM | disk | FTP | other *** search
- Some very criptic notes on the XOBBS.
-
- The bbs code runs only on SysV at the moment. BSD usage will require
- coercing the SysV IPC Message Queue stuff into Unix Domain Sockets.
- This is left as an exercise to the reader.
-
- The Module "ax_mbx.c" and its companion header "ax_mbx.h" are
- replacements for the W9NK mailbox.
-
- The 'dif' files are changes to 'net' itself, in particular , the
- .33a(w9nk, kd8wk) version, but should be usable with any version
- that supports the W9NK mailbox.
-
- Now, the AH-HEM ssid question. I prefer to use a second SSID
- for the bbs so that a carriage return is not necessary to start
- the bbs. This is the scheme I am using and have had no problems
- concerning the operation of the TCP and net/rom sessions.
- The choice is yours. I have included a definition SID2 in the
- code. If you define this in the makefile, you get two ssids,
- which are named by the entries 'ax25 mycall W3XXX' and
- 'ax25 bbscall W3XXX-1' for example, in the startup.net file.
- Four source files in 'net' have been '#ifdef'd' so that the
- proper things happen. If you choose not to use the second
- SSID, then your users will have to send a CR to start the
- bbs. Incidentally, using the two SSIDs allows ax25 connections
- to your 'mycall' ID to spawn incoming ax25 terminal sessions.
- This is probably a plus, as you can still have your non-bbs
- buddies open terminal sessions to you while the bbs is running
- on the other SSID.
-
- I have been beating upon the functional aspects of the code and
- may have neglected some of the startup niceties. If things don't
- fire up, you may need to create null files for xouser or bbsmotd
- or any other file for which the bbs will look upon its creation.
- Check "config.xo" to see how things should be layed out.
-
- Basically, there are 4 message queues created in the system
- by net for use by the mailbox; Send, Receive, Control Send and
- Control Receive. Control recieve is currently not used. These
- are reported by descriptor number upon startup of net. The PID of
- each mailbox spawned is saved in the mailbox session structure
- and used as the "message type" for the message queues to steer
- the message to the desired bbs. For those unfamiliar with
- message queues on SysV, each message has a "message type"
- , which is a long integer, attached. It is possible to selectively
- receive from a que by specifying the messafe type, thus allowing
- each bbs to block on the queue until input for it arrives. Likewise,
- NET looks for a message on the send queue that has the message type
- that corresponds numerically to the PID of the bbs as it climbs
- though the session list. If such a message arrives, NET transmits
- it over the ax25 link specified in that mailbox session structure.
- On recieve, NET checks each receive upcall's axp against all the
- axp's saved in the mailbox session structures and , when a match
- is found, sends that data "down the pipe" to the bbs by attaching
- the bbs's PID as a message type to a message on the receive queue.
- If the bbs wishes to be killed, it sends a kill request up the
- message que to the NET process, which is non-selectively receiving
- on the Control Send queue. NET ascertains the PID of the bbs requesting
- to be killed and does a kill -9 on that PID. The only other use
- of the Control Send queue is when the forwarding bbs wishes to
- inform net that either it is finished forwarding to a particular
- mailbox and wishes to go to the next connection, or it has failed
- and wishes to go the next mailbox in the forwarding file.
-
-
- Multi-bbs access to the mail files is accomplished by a daemon
- process call "maildaemon.c". This process is started up as
- a background task in the mailbox home directory.
-
- You will need to create the subdirectories "fwding", "mail" and
- "temp" in the bbs home directory. You will probably need to create
- a null "highnum" file and perhaps a null "xouserfile".
- Look at "config.xo".
-
- "trigger.c" spawns the forwarder.
-
- Local invocation of the mailbox (from the shell prompt) is
- "xobbs call".
-
- -Jim (pitt!w2xo!durham)
-
-
-